

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" />
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  
  <title>合并提交：范围和节奏 &mdash; Ceph Documentation</title>
  

  
  <link rel="stylesheet" href="../../../_static/ceph.css" type="text/css" />
  <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../../../_static/graphviz.css" type="text/css" />
  <link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />

  
  
    <link rel="shortcut icon" href="../../../_static/favicon.ico"/>
  

  
  

  

  
  <!--[if lt IE 9]>
    <script src="../../../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
        <script src="../../../_static/jquery.js"></script>
        <script src="../../../_static/underscore.js"></script>
        <script src="../../../_static/doctools.js"></script>
    
    <script type="text/javascript" src="../../../_static/js/theme.js"></script>

    
    <link rel="index" title="Index" href="../../../genindex/" />
    <link rel="search" title="Search" href="../../../search/" />
    <link rel="next" title="问题跟踪" href="../issue-tracker/" />
    <link rel="prev" title="必备知识" href="../essentials/" /> 
</head>

<body class="wy-body-for-nav">

   
  <header class="top-bar">
    

















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../../../" class="icon icon-home"></a> &raquo;</li>
        
          <li><a href="../">向 Ceph 贡献：开发者指南</a> &raquo;</li>
        
      <li>合并提交：范围和节奏</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
          
            <a href="../../../_sources/dev/developer_guide/merging.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
  </header>
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search"  style="background: #eee" >
          

          
            <a href="../../../">
          

          
            
            <img src="../../../_static/logo.png" class="logo" alt="Logo"/>
          
          </a>

          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../../../search/" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        
        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../start/intro/">Ceph 简介</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../install/">安装 Ceph</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../cephadm/">Cephadm</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../rados/">Ceph 存储集群</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../cephfs/">Ceph 文件系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../rbd/">Ceph 块设备</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../radosgw/">Ceph 对象网关</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../mgr/">Ceph 管理器守护进程</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../mgr/dashboard/">Ceph 仪表盘</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../api/">API 文档</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../architecture/">体系结构</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../">开发者指南</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../intro/">简介</a></li>
<li class="toctree-l2"><a class="reference internal" href="../essentials/">必备知识</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">何时、合并了什么</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#x-0-z">开发版（即 x.0.z ）</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#what">What ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#where">Where ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#when">When ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id2">分支合并</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#x-1-z">稳定版候选（即 x.1.z ）阶段一</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id3">What ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id4">Where ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id5">When ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#branch-merges">Branch merges</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#id6">稳定版候选（即 x.1.z ）阶段二</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id7">What ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id8">Where ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id9">When ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id10">分支合并</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#x-2-z">稳定版（即 x.2.z ）</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#id11">What ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id12">Where ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id13">When ?</a></li>
<li class="toctree-l4"><a class="reference internal" href="#id14">分支合并</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../issue-tracker/">问题追踪器</a></li>
<li class="toctree-l2"><a class="reference internal" href="../basic-workflow/">基本工作流</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tests-unit-tests/">测试：单元测试</a></li>
<li class="toctree-l2"><a class="reference internal" href="../testing_integration_tests/">测试：集成测试(Teuthology)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../running-tests-locally/">测试：在本地运行测试</a></li>
<li class="toctree-l2"><a class="reference internal" href="../dash-devel/">Ceph Dashboard 开发者文档 (之前是 HACKING.rst)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../jaegertracing/">Tracing 开发者文档</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../cephadm/">Cephadm 开发者文档</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../internals/">Ceph 内幕</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../governance/">项目管理</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../foundation/">Ceph 基金会</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../ceph-volume/">ceph-volume</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../releases/general/">Ceph 版本（总目录）</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../releases/">Ceph 版本（索引）</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../security/">Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../glossary/">Ceph 术语</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../jaegertracing/">Tracing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../translation_cn/">中文版翻译资源</a></li>
</ul>

            
          
        </div>
        
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../../../">Ceph</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
<div id="dev-warning" class="admonition note">
  <p class="first admonition-title">Notice</p>
  <p class="last">This document is for a development version of Ceph.</p>
</div>
  <div id="docubetter" align="right" style="padding: 5px; font-weight: bold;">
    <a href="https://pad.ceph.com/p/Report_Documentation_Bugs">Report a Documentation Bug</a>
  </div>

  
  <div class="section" id="merging">
<span id="id1"></span><h1>合并提交：范围和节奏<a class="headerlink" href="#merging" title="Permalink to this headline">¶</a></h1>
<p>提交会根据 Ceph 发布周期内的特定条件并入各个分支，本章整理出了这些条件。</p>
<div class="section" id="x-0-z">
<h2>开发版（即 x.0.z ）<a class="headerlink" href="#x-0-z" title="Permalink to this headline">¶</a></h2>
<div class="section" id="what">
<h3>What ?<a class="headerlink" href="#what" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>features</p></li>
<li><p>bug fixes</p></li>
</ul>
</div>
<div class="section" id="where">
<h3>Where ?<a class="headerlink" href="#where" title="Permalink to this headline">¶</a></h3>
<p>Features are merged to the master branch. Bug fixes should be merged
to the corresponding named branch (e.g. “jewel” for 10.0.z, “kraken”
for 11.0.z, etc.). However, this is not mandatory - bug fixes can be
merged to the master branch as well, since the master branch is
periodically merged to the named branch during the development
releases phase. In either case, if the bugfix is important it can also
be flagged for backport to one or more previous stable releases.</p>
</div>
<div class="section" id="when">
<h3>When ?<a class="headerlink" href="#when" title="Permalink to this headline">¶</a></h3>
<p>After the stable release candidates of the previous release enters
phase 2 (see below).  For example: the “jewel” named branch was
created when the infernalis release candidates entered phase 2. From
this point on, master was no longer associated with infernalis. As
soon as the named branch of the next stable release is created, master
starts getting periodically merged into it.</p>
</div>
<div class="section" id="id2">
<h3>分支合并<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>稳定版的分支会周期性地并入 master ；</p></li>
<li><p>master 分支会周期性地并入稳定版；</p></li>
<li><p>每次开发版 x.0.z 发布后， master 会立即并入稳定版分支；</p></li>
</ul>
</div>
</div>
<div class="section" id="x-1-z">
<h2>稳定版候选（即 x.1.z ）阶段一<a class="headerlink" href="#x-1-z" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id3">
<h3>What ?<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>bug fixes only</p></li>
</ul>
</div>
<div class="section" id="id4">
<h3>Where ?<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
<p>The branch of the stable release (e.g. “jewel” for 10.0.z, “kraken”
for 11.0.z, etc.) or master.  Bug fixes should be merged to the named
branch corresponding to the stable release candidate (e.g. “jewel” for
10.1.z) or to master. During this phase, all commits to master will be
merged to the named branch, and vice versa. In other words, it makes
no difference whether a commit is merged to the named branch or to
master - it will make it into the next release candidate either way.</p>
</div>
<div class="section" id="id5">
<h3>When ?<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h3>
<p>After the first stable release candidate is published, i.e. after the
x.1.0 tag is set in the release branch.</p>
</div>
<div class="section" id="branch-merges">
<h3>Branch merges<a class="headerlink" href="#branch-merges" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>稳定版的分支会周期性地并入 master ；</p></li>
<li><p>master 分支会周期性地并入稳定版；</p></li>
<li><p>每次候选版 x.1.z 发布后， master 会立即并入稳定版分支；</p></li>
</ul>
</div>
</div>
<div class="section" id="id6">
<h2>稳定版候选（即 x.1.z ）阶段二<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id7">
<h3>What ?<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>bug fixes only</p></li>
</ul>
</div>
<div class="section" id="id8">
<h3>Where ?<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3>
<p>The branch of the stable release (e.g. “jewel” for 10.0.z, “kraken”
for 11.0.z, etc.). During this phase, all commits to the named branch
will be merged into master. Cherry-picking to the named branch during
release candidate phase 2 is done manually since the official
backporting process only begins when the release is pronounced
“stable”.</p>
</div>
<div class="section" id="id9">
<h3>When ?<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h3>
<p>After Sage Weil decides it is time for phase 2 to happen.</p>
</div>
<div class="section" id="id10">
<h3>分支合并<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>The branch of the stable release is merged periodically into master.</p></li>
</ul>
</div>
</div>
<div class="section" id="x-2-z">
<h2>稳定版（即 x.2.z ）<a class="headerlink" href="#x-2-z" title="Permalink to this headline">¶</a></h2>
<div class="section" id="id11">
<h3>What ?<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li><p>bug fixes</p></li>
<li><p>features are sometime accepted</p></li>
<li><p>commits should be cherry-picked from master when possible</p></li>
<li><p>commits that are not cherry-picked from master must be about a bug unique to
the stable release</p></li>
<li><p>see also <a class="reference external" href="http://tracker.ceph.com/projects/ceph-releases/wiki/HOWTO#HOWTO">the backport HOWTO</a></p></li>
</ul>
</div>
<div class="section" id="id12">
<h3>Where ?<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h3>
<p>The branch of the stable release (hammer for 0.94.x, infernalis for 9.2.x,
etc.)</p>
</div>
<div class="section" id="id13">
<h3>When ?<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h3>
<p>After the stable release is published, i.e. after the “vx.2.0” tag is set in
the release branch.</p>
</div>
<div class="section" id="id14">
<h3>分支合并<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h3>
<p>不会再并入。</p>
</div>
</div>
</div>



           </div>
           
          </div>
          <footer>
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
        <a href="../issue-tracker/" class="btn btn-neutral float-right" title="问题跟踪" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
        <a href="../essentials/" class="btn btn-neutral float-left" title="必备知识" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>
        &#169; Copyright 2016, Ceph authors and contributors. Licensed under Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0).

    </p>
  </div> 

</footer>
        </div>
      </div>

    </section>

  </div>
  

  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
   

</body>
</html>